﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Data.SqlClient;

namespace VerdePimienta2._0
{
    public partial class Pagos : Form
    {
        string constring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\VP\\des_VP.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
        //string constring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\VP\\verdepimientadb.mdf;Integrated Security=True;User Instance=True";
        //string constring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\Chema\\Mis documentos\\Visual Studio 2008\\Projects\\VerdePimienta2.0\\VerdePimienta2.0\\verdepimientadb.mdf;Integrated Security=True;User Instance=True";

        public Pagos()
        {
            InitializeComponent();
        }

        //Carga inicila panel
        private void Pagos_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'verdepimientadbDataSet.LlenarCmbEmpleados' table. You can move, or remove it, as needed.
            //this.llenarCmbEmpleadosTableAdapter.Fill(this.verdepimientadbDataSet.LlenarCmbEmpleados);

            RellenarComboEmpleados r = new RellenarComboEmpleados();
            r.RellenarComboE(cmbEmpleadoPago);

            cmbEmpleadoPago.SelectedIndex = 0;
        }

        //Botón REALIZAR PAGO
        private void btnrealizarPago_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtmotivoPago.Text) || txtCantidadPago.Text == "0" || cmbEmpleadoPago.Text == "(Seleccione)")
            {
                MessageBox.Show("Debe rellenar todas las casillas para llevar a cabo el Pago.", "Pago.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                Validaciones val = new Validaciones();
                if (val.EsNum(txtCantidadPago.Text))
                {
                    DialogResult drIngr = MessageBox.Show("¿Está seguro de realizar el Pago?", "Nuevo Pago.",
                                 MessageBoxButtons.OKCancel,
                                 MessageBoxIcon.Question);

                    if (drIngr == DialogResult.OK)
                    {
                        try
                        {
                            //Abrir conexión
                            SqlConnection conI = new SqlConnection(constring);
                            conI.Open();

                            SqlDataAdapter daIngresos = new SqlDataAdapter("Select * From Operaciones", conI);

                            DataSet dsI = new DataSet("Operaciones");

                            daIngresos.FillSchema(dsI, SchemaType.Source, "Operaciones");
                            daIngresos.Fill(dsI, "Operaciones");

                            DataTable tblI;

                            tblI = dsI.Tables["Operaciones"];

                            DataRow drI = tblI.NewRow();

                            //Guardar datos en la tabla de ingresos

                            drI["Fecha"] = dtpfechaPago.Text;
                            drI["Motivo"] = txtmotivoPago.Text;
                            drI["Cantidad"] = txtCantidadPago.Text;
                            drI["Empleado"] = cmbEmpleadoPago.Text;
                            drI["Tipo"] = "Pagos";

                            //Guardar la nueva línea en la tabla
                            tblI.Rows.Add(drI);

                            SqlCommandBuilder objCommandBuilder = new SqlCommandBuilder(daIngresos);
                            daIngresos.Update(dsI, "Operaciones");

                            conI.Close();

                            MessageBox.Show("Pago realizado con éxito.");

                            Close();

                        }
                        catch (Exception exI)
                        {
                            MessageBox.Show("Error en acceso a base de datos.", exI.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }

                        //Limpiar textBox
                        txtCantidadPago.Text = "0";
                        txtmotivoPago.Clear();
                    }
                    else
                    {
                        MessageBox.Show("Operación cancelada", "Pago.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("El valor introducido en Cantidad no tiene un formato correcto. Introduzca un valor numérico.", "Ingreso.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
    }
}
